//Wrapper for EE::Camera
#pragma once
#include "stdafx.h"

namespace EsenthelNet
{
	public enum class CameraHandleFlags {
		Zoom        =0x01, // zoom  with mouse wheel
		Rotate          =0x02, // rotate  on mouse move
		Move         =0x04, // move    on mouse move
		Move_XZ      =0x08, // move.xz on mouse move
		NoVelocityUpdate =0x1, // don't automatically update the velocities
	};

	public ref class Camera {
	public:
		Camera() {}

		Prop(float, Yaw, Cam.yaw)
		Prop(float, Pitch, Cam.pitch)
		Prop(float, Roll, Cam.roll)
		Prop(float, Dist, Cam.dist)

		PropVecP(At, Cam.at)

		void Handle(float dist_min, float dist_max, EsenthelNet::CameraHandleFlags flags) {
			CamHandle(dist_min, dist_max, (UInt) flags);
		}
	};
}